package com.cloudbroker.bcs.platform.dav.bizapi.service.export;

import com.cloudbroker.bcs.common.annotation.NoLogin;
import com.cloudbroker.bcs.platform.dav.bizapi.service.base.vo.CodeForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.export.vo.request.*;
import com.cloudbroker.bcs.platform.dav.bizapi.service.export.vo.response.*;

/**
 * Created by xuyn15828 on 2016/5/11.
 */
public interface YunxinBizService {
    /**
     * 创建云信ID
     * */
    @NoLogin
    public CreateAccountBackVo createAccount(CreateAccountForm form);

    /**
     * 更新云信ID
     * */
    @NoLogin
    public CodeBackVo updateAccount(CreateAccountForm form);

    /**
     * 更新并获取云信ID
     * */
    @NoLogin
    public UpdateAccountBackVo updateAndGetAccount(CodeForm form);

    /**
     * 封禁云信ID
     * */
    @NoLogin
    public CodeBackVo closureAccount(AccidForm form);

    /**
     * 解禁云信ID
     * */
    @NoLogin
    public CodeBackVo unbanAccount(AccidForm form);

    /**
     * 更新用户名片
     * */
    @NoLogin
    public CodeBackVo updateUserInfo(UserInfoForm form);

    /**
     * 创建聊天室
     * */
    @NoLogin
    public ChatroomBackVo createRoom(EditRoomForm form);

    /**
     *  查询聊天室信息
     * */
    @NoLogin
    public ChatroomBackVo queryRoomInfo(QueryRoomInfoForm form);

    /**
     * 更新聊天室信息
     * */
    @NoLogin
    public ChatroomBackVo updateRoomInfo(EditRoomForm form);

    /**
     * 修改聊天室开/关闭状态
     * */
    @NoLogin
    public ChatroomBackVo updateRoomStatus(UpdateRoomStatusForm form);

    /**
     *  设置聊天室内用户角色
     * */
    @NoLogin
    public SetMemberRoleBackVo setMemberRole(SetMemberRoleForm form);

    /**
     * 请求聊天室地址
     * */
    @NoLogin
    public GetChatroomAddrBackVo getChatroomAddr(GetChatroomAddrForm form);

    /**
     * 发送聊天室信息
     * */
    @NoLogin
    public SendChatroomMsgBackVo sendChatroomMsg(SendChatroomMsgForm form);

    /**
     * P2P聊天黑名单/静音
     * */
    @NoLogin
    public CodeBackVo setSpecialRelation(SetSpecialRelationForm form);
}
